home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-10-22 | 1.7 KB | 64 lines | [TEXT/KAHL] |
- // Copyright: © 1992 by Apple Computer, Inc., all rights reserved.
-
- #include "mtb.h"
-
- void CreateMySoundTrack (Movie theMovie)
- {
- Track theTrack;
- Media theMedia;
- Handle sndHandle = nil;
- SoundDescriptionHandle sndDesc = nil;
- long sndDataOffset;
- long sndDataSize;
- long numSamples;
- OSErr err = noErr;
-
-
- sndHandle = GetResource ('snd ', 128);
- CheckError (ResError(), "\pGetResource" );
- if (sndHandle == nil) return;
-
- sndDesc = (SoundDescriptionHandle) NewHandle(4);
- CheckError (MemError(), "\pNewHandle" );
-
- CreateSoundDescription (sndHandle,
- sndDesc,
- &sndDataOffset,
- &numSamples,
- &sndDataSize );
-
- theTrack = NewMovieTrack (theMovie, 0, 0, kFullVolume);
- CheckError (GetMoviesError(), "\pNewMovieTrack" );
-
- theMedia = NewTrackMedia (theTrack, SoundMediaType,
- FixRound ((**sndDesc).sampleRate),
- nil, 0);
- CheckError (GetMoviesError(), "\pNewTrackMedia" );
-
- err = BeginMediaEdits (theMedia);
- CheckError( err, "\pBeginMediaEdits" );
-
- err = AddMediaSample(theMedia,
- sndHandle,
- sndDataOffset, // offset in data
- sndDataSize,
- 1, // duration of each sound sample
- (SampleDescriptionHandle) sndDesc,
- numSamples,
- 0, // self-contained samples
- nil );
- CheckError( err, "\pAddMediaSample" );
-
- err = EndMediaEdits (theMedia);
- CheckError( err, "\pEndMediaEdits" );
-
- err = InsertMediaIntoTrack (theTrack,
- 0, // track start time
- 0, // media start time
- GetMediaDuration (theMedia),
- kFix1);
- CheckError( err, "\pInsertMediaIntoTrack" );
-
- if (sndDesc != nil) DisposeHandle( (Handle)sndDesc);
- }
-